package com.xcity.game.item;

import com.xcity.db.entity.Player;
import com.xcity.game.item.listener.BagListener;

/**
 * 物品使用效果<br/>
 * 可对离线玩家使用
 * @author YangLi
 *
 */
public interface ItemEffect {
	
	/** 获得buff */
	int ADD_BUFF = 1001;
	/** 获得现金 */
	int ADD_GOLD = 1002;
	/** 获得钻石 */
	int ADD_STONE = 1003;
	/** 获得物品 */
	int ADD_ITEM = 1004;
	/** 损失现金 */
	int LOSE_GOLD = 1005;
	/** 移除世界事件效果 */
	int REMOVE_WORLD_EVENT = 1006;
	/** 延长世界事件持续时间 */
	int EXTEND_WORLD_EVENT_TIME = 1007;
	/** 获得经验 */
	int ADD_EXP = 1008;
	/** 获得宠物 */
	int GET_PET = 1009;
	/** 恢复宠物精神 */
	int ADD_PET_SPIRIT = 1010;
	/** 获得员工 */
	int DROP_EMPLOYEE = 1011;
	/** 掉落物品 */
	int GET_DROP_GROUP_ITEM = 1012;
	/** 增加体力 */
	int ADD_STRENGTH = 1013;
	/** 增加员工经验 */
	int ADD_EMPLOYEE_EXP = 1014;
	/** 增加好友之间的亲密度 */
	int ADD_FRIEND_INTIMACY = 1015;
	/** 增加魅力值 */
	int ADD_CHARM = 1016;
	/** 获得员工 */
	int ADD_EMPLOYEE = 1017;
	/** 恢复员工精力至满 */
	int RECOVER_EMPLOYEE_ENERGY = 1018;
	/** 员工技能书 */
	int EMPLOYEE_SKILL_BOOK = 1019;
	/** 掉落装备 */
	int DROP_EQUIPMENT = 1020;
	/** 装备加经验 */
	int ADD_EQUIP_EXP = 1021;
	/** 主角获得技能 */
	int GET_SKILL = 1022;
	/** 赠送拼图碎片给好友，服务器不实现，客户端调用PomeloRoute.CHIPS_COLLECT_ACTIVITY_PRESENT协议赠送 */
	int PRESENT_PUZZLE_CHIPS_TO_FRIEND = 1023;
	/** 保险箱（减免被偷窃损失） */
	int SAFE_BOX = 1024;
	/** 护盾（避免被攻击） */
	int SHIELD = 1025;
	/** 免战牌（避免被侵占） */
	int AVOID_INVADE = 1026;
	/** 使用直接增加员工经验 */
	int ADD_EMPLOYEE_EXP_IMMEDIATELY = 1027;
	/** 员工碎片 */
	int EMPLOYEE_PIECE = 1028;
	/** 增加精力 */
	int ADD_VIGOUR = 1029;
	/** 加技能点数 */
	int ADD_SKILL_POINTS = 1030;
	/** 加开光经验 */
	int ADD_BLESS_EXP = 1031;
	/** 王者币 */
	int ADD_KING_COIN = 1032;
	/** 荣誉（离线竞技场货币） */
	int ADD_HONOR = 1033;
	/** 加团购券点数 */
	int ADD_GROUP_BUY_COUPON_NUM = 1034;
	
	//--- 客户端实现 ---
	/** 恢复气势值(hp)50% */
	int PVE_ADD_HP = 2000;
	/** 消除指定行内所有色块 */
	int PVE_CLEAR_ROW_BLOCKS = 2001;
	/** 消除指定列内所有色块 */
	int PVE_CLEAR_COL_BLOCKS = 2002;
	/** 消除指定块周围8个色块 */
	int PVE_CLEAR_AROUND_BLOCKS = 2003;
	/** 增加步数 */
	int PVE_ADD_STEPS = 2004;
	/** 延长PVE关卡战斗时间 */
	int PVE_ADD_TIME = 2005;

	
	boolean effect(Player player, GameItem item, int count, BagListener listener) throws ItemException;
}
